The included files replicate the analyses from the main body and SI of "Authority After the Tempest: Hurricane Michael and the 2018 Elections."
They should be run in numerical order, for subdirectories and the files therein alike.

Many of these files are extremely time and RAM intensive. A handful can only be run with more than 100GB of RAM

A brief description of the files follows:

00_initialize.R: set up project and call packages.
01_rainfall.R: pull historical and 2018 rainfall for all voters in FL
02_prep_match.R: process raw voter file data

03_moved_pps/01_calculate_dists.R: calculate distance between each voter and her expected / actual polling place
03_moved_pps/02_multinom.R: run multinomial logistic regression and create figures

04_all_treated/03_genmatch.R: find genetic weights used in matching for all voters in 8 covered counties (RAM and time intensive)
04_all_treated/04_match.R: match treated voters to control voters (RAM and time intensive)
04_all_treated/05_prep_reg.R: process post-match data for AME regressions
04_all_treated/06_matching_regression.R: run AME regressions, create plots
04_all_treated/07_balance_table.R: create AME balance table

05_precinct_neighbors/02_make_map.R: create map figure
05_precinct_neighbors/03_first_stage_match.R: match weather + admin voters to weather only voters
05_precinct_neighbors/04_second_stage_match.R: match treated voters (weather and weather + admin) to control voters (RAM and time intensive)
05_precinct_neighbors/05_triple_diff_reg.R: run triple differences regression
05_precinct_neighbors/06_make_balance_table_1.R: pull stats about differences between weather + admin and weather voters
05_precinct_neighbors/07_make_balance_table_2.R: create secondary balance table

06_robustness/01_alt_processing_table/01_ebal.R: entropy balancing algorithm for AME
06_robustness/01_alt_processing_table/02_primary_linear_time_trend.R: primary AME with county linear time trends (RAM intensive)
06_robustness/01_alt_processing_table/03_big_unmatched_full.R: full DID without matching for AME (RAM intensive)
06_robustness/01_alt_processing_table/04_prop_score_matching.R: propensity score match for AME
06_robustness/01_alt_processing_table/05_exact_match.R: Exact matching on select characteristics for AME (time intensive)
06_robustness/01_alt_processing_table/06_alt_regs.R: combine above models into a regression table (for the SI)

06_robustness/02_alt_trip_table/01_big_unmatched_trip.R: full DID without matching for triple difference (RAM intensive)
06_robustness/02_alt_trip_table/02_rob_trip.R: other robustness checks for triple differences (e.g., county linear time trends) (RAM intensive)
06_robustness/02_alt_trip_table/03_regs_table.R: combine above models into a regression table (for the SI)

06_robustness/03_event_studies/01_event_study.R: event study plot for AME
06_robustness/03_event_studies/02_event_study_td.R: event study plot for triple differences

06_robustness/04_pre_2010/01_pre_2010_full.R: AME for voters registered prior to 2010
06_robustness/04_pre_2010/02_pre_2010_trip.R: Triple difference for voters registered prior to 2010

06_robustness/05_check_registrations_before_deadline.R: plot registrations in weeks before deadline
06_robustness/06_county_specific_triple_plot.R: plot outcome of triple diff for each treated county
06_robustness/07_every_voter_in_state.R: AME including all voters in state (including voters in adjacent, untreated counties) (RAM intensive)

helper_not_run/AutoCluster4.R: function called in other scripts to parallelize genetic matching algorithm